package cn.wolfcode.service;

import cn.wolfcode.domain.Consumption;
import cn.wolfcode.qo.QueryObject;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface IConsumptionService {
    void save(Consumption consumption);

    void delete(Long id);

    void update(Consumption consumption);

    Consumption get(Long id);

    List<Consumption> listAll();

    // 分页查询的方法
    PageInfo<Consumption> query(QueryObject qo);


    Consumption save(String appointmentAno);


    /**
     * 修改结算信息
     *
     * @param id      修改哪一条结算单
     * @param status  修改状态为 待审核 状态为 1
     * @param payTime 修改结算时间为当前时间
     * @param payeeId 结算人信息
     */
    void updatePayeeMsg(Long id, Integer status, Date payTime, Long payeeId);

    /**
     * 修改结算信息
     *
     * @param id        修改哪一条结算单
     * @param status    修改状态为 坏账 3 或 归档 2
     * @param auditTime 修改审核时间为当前时间
     * @param auditorId 审核人信息
     */
    void updateAuditorMsg(Long id, Integer status, Date auditTime, Long auditorId);

}
